/*

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:

The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

*/
module derelict.ogg.oggfunctions;

private
{
    import core.stdc.config;
    import derelict.ogg.oggtypes;
}

extern(C)
{
    alias nothrow void function(oggpack_buffer*) da_oggpack_writeinit;
    alias nothrow void function(oggpack_buffer*) da_oggpack_writecheck;
    alias nothrow void function(oggpack_buffer*, c_long) da_oggpack_writetrunc;
    alias nothrow void function(oggpack_buffer*) da_oggpack_writealign;
    alias nothrow void function(oggpack_buffer*, void*, c_long) da_oggpack_writecopy;
    alias nothrow void function(oggpack_buffer*) da_oggpack_reset;
    alias nothrow void function(oggpack_buffer*) da_oggpack_writeclear;
    alias nothrow void function(oggpack_buffer*, ubyte*, int) da_oggpack_readinit;
    alias nothrow void function(oggpack_buffer*, c_ulong, int) da_oggpack_write;
    alias nothrow c_long  function(oggpack_buffer*, int) da_oggpack_look;
    alias nothrow c_long  function(oggpack_buffer*) da_oggpack_look1;
    alias nothrow void function(oggpack_buffer*, int) da_oggpack_adv;
    alias nothrow void function(oggpack_buffer*) da_oggpack_adv1;
    alias nothrow c_long  function(oggpack_buffer*, int) da_oggpack_read;
    alias nothrow c_long  function(oggpack_buffer*) da_oggpack_read1;
    alias nothrow c_long  function(oggpack_buffer*) da_oggpack_bytes;
    alias nothrow c_long  function(oggpack_buffer*) da_oggpack_bits;
    alias nothrow ubyte *function(oggpack_buffer*) da_oggpack_get_buffer;
    alias nothrow void function(oggpack_buffer*) da_oggpackB_writeinit;
    alias nothrow void function(oggpack_buffer*) da_oggpackB_writecheck;
    alias nothrow void function(oggpack_buffer*, c_long ) da_oggpackB_writetrunc;
    alias nothrow void function(oggpack_buffer*) da_oggpackB_writealign;
    alias nothrow void function(oggpack_buffer*, void*, c_long) da_oggpackB_writecopy;
    alias nothrow void function(oggpack_buffer*) da_oggpackB_reset;
    alias nothrow void function(oggpack_buffer*) da_oggpackB_writeclear;
    alias nothrow void function(oggpack_buffer*, ubyte*, int) da_oggpackB_readinit;
    alias nothrow void function(oggpack_buffer*, uint, c_long) da_oggpackB_write;
    alias nothrow c_long  function(oggpack_buffer*, int) da_oggpackB_look;
    alias nothrow c_long  function(oggpack_buffer*) da_oggpackB_look1;
    alias nothrow void function(oggpack_buffer*, int) da_oggpackB_adv;
    alias nothrow void function(oggpack_buffer*) da_oggpackB_adv1;
    alias nothrow c_long  function(oggpack_buffer*, int) da_oggpackB_read;
    alias nothrow c_long  function(oggpack_buffer*) da_oggpackB_read1;
    alias nothrow c_long  function(oggpack_buffer*) da_oggpackB_bytes;
    alias nothrow c_long  function(oggpack_buffer*) da_oggpackB_bits;
    alias nothrow ubyte *function(oggpack_buffer*) da_oggpackB_get_buffer;
    alias nothrow int function(ogg_stream_state*, ogg_packet*) da_ogg_stream_packetin;
    alias nothrow int function(ogg_stream_state*, ogg_iovec_t*, int, c_long, ogg_int64_t) da_ogg_stream_iovecin;
    alias nothrow int function(ogg_stream_state*, ogg_page*) da_ogg_stream_pageout;
    alias nothrow int function(ogg_stream_state*, ogg_page*, int) da_ogg_stream_pageout_fill;
    alias nothrow int function(ogg_stream_state*, ogg_page*) da_ogg_stream_flush;
    alias nothrow int function(ogg_stream_state*, ogg_page*) da_ogg_stream_flush_fill;
    alias nothrow int function(ogg_sync_state*) da_ogg_sync_init;
    alias nothrow int function(ogg_sync_state*) da_ogg_sync_clear;
    alias nothrow int function(ogg_sync_state*) da_ogg_sync_reset;
    alias nothrow int function(ogg_sync_state*) da_ogg_sync_destroy;
    alias nothrow int function(ogg_sync_state*) da_ogg_sync_check;
    alias nothrow byte* function(ogg_sync_state*, c_long) da_ogg_sync_buffer;
    alias nothrow int function(ogg_sync_state*, c_long) da_ogg_sync_wrote;
    alias nothrow c_long function(ogg_sync_state*,ogg_page*) da_ogg_sync_pageseek;
    alias nothrow int function(ogg_sync_state*, ogg_page*) da_ogg_sync_pageout;
    alias nothrow int function(ogg_stream_state*, ogg_page*) da_ogg_stream_pagein;
    alias nothrow int function(ogg_stream_state*,ogg_packet*) da_ogg_stream_packetout;
    alias nothrow int function(ogg_stream_state*,ogg_packet*) da_ogg_stream_packetpeek;
    alias nothrow int function(ogg_stream_state*,int serialno) da_ogg_stream_init;
    alias nothrow int function(ogg_stream_state*) da_ogg_stream_clear;
    alias nothrow int function(ogg_stream_state*) da_ogg_stream_reset;
    alias nothrow int function(ogg_stream_state*,int serialno) da_ogg_stream_reset_serialno;
    alias nothrow int function(ogg_stream_state*) da_ogg_stream_destroy;
    alias nothrow int function(ogg_stream_state*) da_ogg_stream_check;
    alias nothrow int function(ogg_stream_state*) da_ogg_stream_eos;
    alias nothrow void function(ogg_page*) da_ogg_page_checksum_set;
    alias nothrow int function(ogg_page*) da_ogg_page_version;
    alias nothrow int function(ogg_page*) da_ogg_page_continued;
    alias nothrow int function(ogg_page*) da_ogg_page_bos;
    alias nothrow int function(ogg_page*) da_ogg_page_eos;
    alias nothrow ogg_int64_t function(ogg_page*) da_ogg_page_granulepos;
    alias nothrow int function(ogg_page*) da_ogg_page_serialno;
    alias nothrow c_long function(ogg_page*) da_ogg_page_pageno;
    alias nothrow int function(ogg_page*) da_ogg_page_packets;
    alias nothrow void function(ogg_packet*) da_ogg_packet_clear;
}

__gshared
{
	da_oggpack_writeinit oggpack_writeinit;
	da_oggpack_writecheck oggpack_writecheck;
	da_oggpack_writetrunc oggpack_writetrunc;
	da_oggpack_writealign oggpack_writealign;
	da_oggpack_writecopy oggpack_writecopy;
	da_oggpack_reset oggpack_reset;
	da_oggpack_writeclear oggpack_writeclear;
	da_oggpack_readinit oggpack_readinit;
	da_oggpack_write oggpack_write;
	da_oggpack_look oggpack_look;
	da_oggpack_look1 oggpack_look1;
	da_oggpack_adv oggpack_adv;
	da_oggpack_adv1 oggpack_adv1;
	da_oggpack_read oggpack_read;
	da_oggpack_read1 oggpack_read1;
	da_oggpack_bytes oggpack_bytes;
	da_oggpack_bits oggpack_bits;
	da_oggpack_get_buffer oggpack_get_buffer;
	da_oggpackB_writeinit oggpackB_writeinit;
	da_oggpackB_writecheck oggpackB_writecheck;
	da_oggpackB_writetrunc oggpackB_writetrunc;
	da_oggpackB_writealign oggpackB_writealign;
	da_oggpackB_writecopy oggpackB_writecopy;
	da_oggpackB_reset oggpackB_reset;
	da_oggpackB_writeclear oggpackB_writeclear;
	da_oggpackB_readinit oggpackB_readinit;
	da_oggpackB_write oggpackB_write;
	da_oggpackB_look oggpackB_look;
	da_oggpackB_look1 oggpackB_look1;
	da_oggpackB_adv oggpackB_adv;
	da_oggpackB_adv1 oggpackB_adv1;
	da_oggpackB_read oggpackB_read;
	da_oggpackB_read1 oggpackB_read1;
	da_oggpackB_bytes oggpackB_bytes;
	da_oggpackB_bits oggpackB_bits;
	da_oggpackB_get_buffer oggpackB_get_buffer;
	da_ogg_stream_packetin ogg_stream_packetin;
	da_ogg_stream_iovecin ogg_stream_iovecin;
	da_ogg_stream_pageout ogg_stream_pageout;
	da_ogg_stream_pageout_fill ogg_stream_pageout_fill;
	da_ogg_stream_flush ogg_stream_flush;
	da_ogg_stream_flush_fill ogg_stream_flush_fill;
	da_ogg_sync_init ogg_sync_init;
	da_ogg_sync_clear ogg_sync_clear;
	da_ogg_sync_reset ogg_sync_reset;
	da_ogg_sync_destroy ogg_sync_destroy;
	da_ogg_sync_check ogg_sync_check;
	da_ogg_sync_buffer ogg_sync_buffer;
	da_ogg_sync_wrote ogg_sync_wrote;
	da_ogg_sync_pageseek ogg_sync_pageseek;
	da_ogg_sync_pageout ogg_sync_pageout;
	da_ogg_stream_pagein ogg_stream_pagein;
	da_ogg_stream_packetout ogg_stream_packetout;
	da_ogg_stream_packetpeek ogg_stream_packetpeek;
	da_ogg_stream_init ogg_stream_init;
	da_ogg_stream_clear ogg_stream_clear;
	da_ogg_stream_reset ogg_stream_reset;
	da_ogg_stream_reset_serialno ogg_stream_reset_serialno;
	da_ogg_stream_destroy ogg_stream_destroy;
	da_ogg_stream_check ogg_stream_check;
	da_ogg_stream_eos ogg_stream_eos;
	da_ogg_page_checksum_set ogg_page_checksum_set;
	da_ogg_page_version ogg_page_version;
	da_ogg_page_continued ogg_page_continued;
	da_ogg_page_bos ogg_page_bos;
	da_ogg_page_eos ogg_page_eos;
	da_ogg_page_granulepos ogg_page_granulepos;
	da_ogg_page_serialno ogg_page_serialno;
	da_ogg_page_pageno ogg_page_pageno;
	da_ogg_page_packets ogg_page_packets;
	da_ogg_packet_clear ogg_packet_clear;
}